diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 6755b9da0..054b0d8be 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1816,8 +1816,6 @@ namespace IRaCIS.Application.Services { var tablequestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == taskinfo.TrialReadingCriterionId && x.ReadingQuestionTrial.LesionType == LesionType.NonTargetLesions).ToListAsync(); - - // 判断表格问题是否为空 if (tablequestionList.Count > 0) { diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index dc3a51093..d3a40981b 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -510,13 +510,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate //被评估为NE的单个靶病灶 new ReadingCalculateData (){QuestionType=QuestionType.NETarget,GetStringFun=GetNETarget}, - // 与触发iRECIST访视相比SOD变化量 - new ReadingCalculateData (){QuestionType=QuestionType.ComparedTriggeringSODChange,GetStringFun=GetComparedTriggeringSODChange,IsConvertedTask=true}, - - // 新靶病灶直径之和(iSOD) - new ReadingCalculateData (){QuestionType=QuestionType.ISOD,GetDecimalNullFun=GetiSODData,IsConvertedTask=true}, - - // 与触发iRECIST访视相比iSOD变化量 + // 与触发iRECIST访视相比SOD变化量 + new ReadingCalculateData (){QuestionType=QuestionType.ComparedTriggeringSODChange,GetStringFun=GetComparedTriggeringSODChange,IsConvertedTask=true}, + + // 新靶病灶直径之和(iSOD) + new ReadingCalculateData (){QuestionType=QuestionType.ISOD,GetDecimalNullFun=GetiSODData,IsConvertedTask=true}, + + // 与触发iRECIST访视相比iSOD变化量 new ReadingCalculateData (){QuestionType=QuestionType.ComparedTriggeringiSODChange,GetStringFun=GetComparedTriggeringiSODChange,IsConvertedTask=true}, // 靶病灶评估 diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs index c44e8815c..1998d5da7 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs @@ -635,26 +635,22 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate if (await _readingTaskQuestionAnswerRepository.AnyAsync(x => x.ReadingQuestionTrial.QuestionType == QuestionType.ImageQualityAssessment && x.VisitTaskId == inDto.VisitTaskId && x.Answer == ImageQualityEvaluation.Abnormal.GetEnumInt())) { - + //影像质量不正常 验证 return; } - var tableAnswerList = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && (x.Answer == string.Empty || x.Answer == null) - && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State - ) - .Select(x => new - { - x.ReadingQuestionTrial.OrderMark, - x.RowIndex, - QuestionMark = x.ReadingTableQuestionTrial.QuestionMark, - Answer = x.Answer, - - }).ToListAsync(); - + && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State) + .Select(x => new + { + x.ReadingQuestionTrial.OrderMark, + x.RowIndex, + x.ReadingTableQuestionTrial.QuestionMark, + x.Answer, + }).ToListAsync(); + // 错误信息 string errorMassage = string.Empty; - var rowAnswerList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && (x.MeasureData == string.Empty || x.MeasureData == null)) .Select(x => new { @@ -662,37 +658,32 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate x.RowIndex, x.Id, }).ToListAsync(); - - var unableEvaluateRowIds = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.Answer == TargetState.UnableEvaluate.GetEnumInt() - && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State - ) - .Select(x => x.RowId).Distinct().ToListAsync(); + && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State) + .Select(x => x.RowId).Distinct().ToListAsync(); List measureDataList = rowAnswerList.Where(x => !unableEvaluateRowIds.Contains(x.Id)).Select(x => x.OrderMark + x.RowIndex.GetLesionMark()).ToList(); - List stateIsNullList = tableAnswerList.Select(x => x.OrderMark + x.RowIndex.GetLesionMark()).ToList(); - - List allExists = measureDataList.Intersect(stateIsNullList).ToList(); + // 取差 measureDataList = measureDataList.Except(allExists).ToList(); stateIsNullList = stateIsNullList.Except(allExists).ToList(); - - if (measureDataList.Count() > 0) { + // 无标记 errorMassage += _localizer["ReadingCalculate_NoMarker", string.Join(',', measureDataList)] + ","; } - if (tableAnswerList.Count > 0) { + // 状态为空 errorMassage += _localizer["ReadingCalculate_StatusIsEmpty", string.Join(',', stateIsNullList)] + ","; } if (allExists.Count > 0) { + // 未做标记且状态为空 errorMassage += _localizer["ReadingCalculate_NoMarkerEmpty", string.Join(',', stateIsNullList)] + ","; } @@ -702,8 +693,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate errorMassage = _localizer["ReadingCalculate_Questionable"] + errorMassage; throw new BusinessValidationFailedException(errorMassage); } - - } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index 0f453fe35..eb302537f 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -925,9 +925,6 @@ namespace IRaCIS.Core.Application _mapper.Map(trialConfig, trialInfo); trialInfo.UpdateTime = DateTime.Now; - - - return ResponseOutput.Ok(await _repository.SaveChangesAsync()); }