修改计算

Test_IRC_Net8
he 2025-12-11 17:19:45 +08:00
parent a2d4d100d3
commit 0840d57689
3 changed files with 63 additions and 19 deletions

View File

@ -1953,10 +1953,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var baseLineSpleenLength = await GetBaseLineSpleenLength(inDto); var baseLineSpleenLength = await GetBaseLineSpleenLength(inDto);
var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturnNull();
if (presentSpleenLength == null)
{
return string.Empty;
}
if (baseLineSpleenLength - 130 > 0 && presentSpleenLength > 130) if (baseLineSpleenLength - 130 > 0 && presentSpleenLength > 130)
{ {
return ReserveDecimal((presentSpleenLength - 130 - (baseLineSpleenLength - 130)) * 100 / (baseLineSpleenLength - 130), inDto.DigitPlaces); return ReserveDecimal((presentSpleenLength.Value - 130 - (baseLineSpleenLength - 130)) * 100 / (baseLineSpleenLength - 130), inDto.DigitPlaces);
} }
else else
{ {
@ -1981,11 +1986,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
if (TaskAnswer.Count() == 0) if (TaskAnswer.Count() == 0)
{ {
return "0"; return string.Empty;
}
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturnNull();
if (presentSpd == null)
{
return string.Empty;
} }
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0();
var lowSplenoncus = TaskAnswer.OrderBy(x => x.SpleenLength).Select(x => x.SpleenLength).FirstOrDefault(); var lowSplenoncus = TaskAnswer.OrderBy(x => x.SpleenLength).Select(x => x.SpleenLength).FirstOrDefault();
return (presentSpd - lowSplenoncus).ToString(); return (presentSpd.Value - lowSplenoncus).ToString();
} }
@ -2011,8 +2020,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
return "NA"; return "NA";
} }
var lowSplenoncus = taskAnswer.OrderBy(x => x.SpleenLength).FirstOrDefault(); var lowSplenoncus = taskAnswer.Where(x=>x.SpleenLength!=0).OrderBy(x => x.SpleenLength).FirstOrDefault();
return lowSplenoncus.BlindName; if (lowSplenoncus != null)
{
return lowSplenoncus.BlindName;
}
else
{
return string.Empty;
}
} }
@ -3015,10 +3032,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
var baseLineTaskId = await GetBaseLineTaskId(inDto); var baseLineTaskId = await GetBaseLineTaskId(inDto);
var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturnNull();
if(presentSpleenLength==null)
{
return string.Empty;
}
var baseLineSpleenLength = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == baseLineTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); var baseLineSpleenLength = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == baseLineTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
return (presentSpleenLength - baseLineSpleenLength).ToString(); return (presentSpleenLength.Value - baseLineSpleenLength).ToString();
} }

View File

@ -1953,10 +1953,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var baseLineSpleenLength = await GetBaseLineSpleenLength(inDto); var baseLineSpleenLength = await GetBaseLineSpleenLength(inDto);
var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturnNull();
if (presentSpleenLength == null)
{
return string.Empty;
}
if (baseLineSpleenLength - 130 > 0 && presentSpleenLength > 130) if (baseLineSpleenLength - 130 > 0 && presentSpleenLength > 130)
{ {
return ReserveDecimal((presentSpleenLength - 130 - (baseLineSpleenLength - 130)) * 100 / (baseLineSpleenLength - 130), inDto.DigitPlaces); return ReserveDecimal((presentSpleenLength.Value - 130 - (baseLineSpleenLength - 130)) * 100 / (baseLineSpleenLength - 130), inDto.DigitPlaces);
} }
else else
{ {
@ -1981,11 +1986,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
if (TaskAnswer.Count() == 0) if (TaskAnswer.Count() == 0)
{ {
return "0"; return string.Empty;
}
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturnNull();
if (presentSpd == null)
{
return string.Empty;
} }
var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0();
var lowSplenoncus = TaskAnswer.OrderBy(x => x.SpleenLength).Select(x => x.SpleenLength).FirstOrDefault(); var lowSplenoncus = TaskAnswer.OrderBy(x => x.SpleenLength).Select(x => x.SpleenLength).FirstOrDefault();
return (presentSpd - lowSplenoncus).ToString(); return (presentSpd.Value - lowSplenoncus).ToString();
} }
@ -2011,8 +2020,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
return "NA"; return "NA";
} }
var lowSplenoncus = taskAnswer.OrderBy(x => x.SpleenLength).FirstOrDefault(); var lowSplenoncus = taskAnswer.Where(x => x.SpleenLength != 0).OrderBy(x => x.SpleenLength).FirstOrDefault();
return lowSplenoncus.BlindName; if (lowSplenoncus != null)
{
return lowSplenoncus.BlindName;
}
else
{
return string.Empty;
}
} }
@ -3015,10 +3032,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
} }
var baseLineTaskId = await GetBaseLineTaskId(inDto); var baseLineTaskId = await GetBaseLineTaskId(inDto);
var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); var presentSpleenLength = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturnNull();
if (presentSpleenLength == null)
{
return string.Empty;
}
var baseLineSpleenLength = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == baseLineTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); var baseLineSpleenLength = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == baseLineTaskId && x.ReadingQuestionTrial.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0();
return (presentSpleenLength - baseLineSpleenLength).ToString(); return (presentSpleenLength.Value - baseLineSpleenLength).ToString();
} }

View File

@ -593,13 +593,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
TableQuestionId = x.TableQuestionId, TableQuestionId = x.TableQuestionId,
TrialId = x.TrialId, TrialId = x.TrialId,
VisitTaskId = visitTaskId, VisitTaskId = visitTaskId,
}); }).ToList();
var addList = _mapper.Map<List<ReadingTableAnswerRowInfo>>(tableRowAnswers); var addList = _mapper.Map<List<ReadingTableAnswerRowInfo>>(tableRowAnswers);
await _generalCalculateService.CopyHistoryAnswer(taskinfo, addList, tableAnswers);
await _readingTableAnswerRowInfoRepository.AddRangeAsync(addList); await _readingTableAnswerRowInfoRepository.AddRangeAsync(addList);
await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers); await _readingTableQuestionAnswerRepository.AddRangeAsync(tableAnswers);