From 999fde1f5cf71d67cd162563f229f1184c91f989 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 10 Dec 2025 10:43:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=B2=E8=A3=81=E9=AA=8C=E8=AF=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingCriterion/ReadingQuestionService.cs | 4 +++- .../Service/TrialSiteUser/TrialConfigService.cs | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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)