From 349839913cd7b988b46a54ff2f89795b05a9c4df Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Fri, 12 Aug 2022 16:56:55 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../TrialSiteUser/TrialConfigService.cs | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index 387a4a851..d030ed193 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -345,6 +345,50 @@ namespace IRaCIS.Core.Application
}
+ ///
+ /// 验证签名确认
+ ///
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task VerifyTrialConfigSignatureConfirm(SignConfirmDTO signConfirmDTO)
+ {
+ var trialConfig = (await _trialRepository
+ .Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification })
+ .FirstOrDefaultAsync(t => t.TrialId == signConfirmDTO.TrialId))
+ .IfNullThrowException();
+
+
+ var showOrderList = await _repository.Where(t => t.TrialId == signConfirmDTO.TrialId).Select(t =>
+ new { t.ShowOrder, ParentShowOrder = (int?)t.ParentQCQuestion.ShowOrder }).ToListAsync();
+
+ if (trialConfig.QCProcessEnum ==
+ TrialQCProcess.DoubleAudit || trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit)
+ {
+ if (showOrderList.Count == 0)
+ {
+ throw new BusinessValidationFailedException("当前未添加影像质控审核问题。请先添加影像质控审核问题,再进行确认。");
+ }
+ }
+
+ if (showOrderList.Count() != showOrderList.Select(t => t.ShowOrder).Distinct().Count())
+ {
+ throw new BusinessValidationFailedException("影像质控审核问题显示序号不能重复。");
+ }
+
+ if (showOrderList.Where(t => t.ParentShowOrder != null).Any(t => t.ParentShowOrder > t.ShowOrder))
+ {
+ throw new BusinessValidationFailedException("父问题的显示序号要比子问题的显示序号小,请确认。");
+ }
+
+ if (await _trialRepository.AnyAsync(t => t.Id == signConfirmDTO.TrialId && t.QCQuestionConfirmedUserId != null && t.QCQuestionConfirmedUserId != _userInfo.Id))
+ {
+ throw new BusinessValidationFailedException("影像质控审核问题已被其他人员确认,不允许再次确认。");
+ }
+
+ return ResponseOutput.Ok();
+ }