Uat_Study
he 2022-12-01 14:57:50 +08:00
parent 77f9bd84d7
commit bc05bc38f6
2 changed files with 14 additions and 6 deletions

View File

@ -415,7 +415,7 @@ namespace IRaCIS.Application.Services
}
this.VerifyCalculateRelation(relationList, indto.Id.Value);
this.VerifyCalculateRelation(relationList, indto.Id.Value, indto.Id.Value);
}
var entity = await _readingQuestionTrialRepository.InsertOrUpdateAsync(indto, true);
@ -438,22 +438,29 @@ namespace IRaCIS.Application.Services
return await query.ToListAsync();
}
private void VerifyCalculateRelation(List<CalculateRelationDto> relationList,Guid QuestionId)
/// <summary>
/// 验证计算关系
/// </summary>
/// <param name="relationList"></param>
/// <param name="QuestionId"></param>
/// <param name="originalId"></param>
/// <exception cref="BusinessValidationFailedException"></exception>
private void VerifyCalculateRelation(List<CalculateRelationDto> relationList,Guid QuestionId,Guid originalId)
{
var relation = relationList.Where(x=>x.CalculateQuestionList.Any(y=>y.QuestionId== QuestionId||y.TableQuestionId==QuestionId)).ToList();
if (relation.Select(x => x.QuestionId).ToList().Contains(QuestionId))
if (relation.Select(x => x.QuestionId).ToList().Contains(originalId))
{
throw new BusinessValidationFailedException("计算依赖循环了!");
}
else
{
var newrelation = relation.Clone();
relation.ForEach(x =>
{
VerifyCalculateRelation(newrelation, QuestionId);
VerifyCalculateRelation(relationList, x.QuestionId, originalId);
});
}
@ -635,7 +642,7 @@ namespace IRaCIS.Application.Services
}
this.VerifyCalculateRelation(relationList, indto.Id.Value);
this.VerifyCalculateRelation(relationList, indto.Id.Value, indto.Id.Value);
}

View File

@ -193,6 +193,7 @@ namespace IRaCIS.Core.Application
await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x => x.Id == inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
{
IsOncologyReading = systemCriterion.IsOncologyReading,
IseCRFShowInDicomReading=systemCriterion.IseCRFShowInDicomReading,
});