diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs index fdae149b3..efc79a5ac 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs @@ -565,7 +565,9 @@ namespace IRaCIS.Core.Application.Service { if (indto.Id != null) { - if (await _readingQuestionTrialRepository.AnyAsync(x => x.Id == indto.Id && x.IsJudgeQuestion && x.JudgeType != JudgeTypeEnum.None)) + var isArbitrationReading = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == indto.ReadingQuestionCriterionTrialId).Select(x => x.IsArbitrationReading).FirstOrDefaultAsync(); + + if (isArbitrationReading && (await _readingQuestionTrialRepository.AnyAsync(x => x.Id == indto.Id && x.IsJudgeQuestion && x.JudgeType != JudgeTypeEnum.None))) { //---当前问题已经设置了裁判标准了,修改失败 throw new BusinessValidationFailedException(_localizer["ReadingQuestion_JudgmentSet"]); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index acf039305..b5f1bdbb9 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -655,6 +655,14 @@ namespace IRaCIS.Core.Application }); + if (!inDto.IsArbitrationReading) + { + await _readingQuestionTrialRepository.UpdatePartialFromQueryAsync(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId, x => new ReadingQuestionTrial() + { + JudgeType = JudgeTypeEnum.None + }); + } + List keyFileList = new List(); await _trialCriterionKeyFileRepository.BatchDeleteNoTrackingAsync(t => t.TrialCriterionId == inDto.TrialReadingCriterionId); if (inDto.KeyFileList != null && inDto.KeyFileList.Count > 0)