diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index debfad6b2..79b455e5d 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -4805,6 +4805,14 @@
+
+
+ 阅片信息签名验证接口
+
+
+
+
+
阅片信息签名
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index 7784c1012..10a7c7cf3 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -46,6 +46,30 @@ namespace IRaCIS.Core.Application
}
+ ///
+ /// 阅片信息签名验证接口
+ ///
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task TrialReadingInfoSignVerify(TrialReadingInfoSignInDto inDto)
+ {
+ var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstOrDefaultAsync();
+ var existsJudge = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialCriterion.Id && x.IsJudgeQuestion && x.JudgeType == JudgeTypeEnum.None)
+ .WhereIf(trialCriterion.FormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null)
+ .WhereIf(trialCriterion.FormType == FormType.MultiplePage, x => x.ReadingCriterionPageId != null)
+ .AnyAsync();
+
+ if (existsJudge)
+ {
+ throw new BusinessValidationFailedException("有裁判问题未配置产生裁判阅片任务的条件,操作失败!");
+ }
+
+ return ResponseOutput.Ok(true);
+ }
+
+
///
/// 阅片信息签名
///
@@ -524,8 +548,20 @@ namespace IRaCIS.Core.Application
trialConfig.IsReadingShowSubjectInfo = false;
trialConfig.ArbitrationRule = ArbitrationRule.Visit;
}
+
+
+
_mapper.Map(trialConfig, trialInfo);
+ if (trialInfo.IsGlobalReading && (trialInfo.IsArbitrationReading??false))
+ {
+ trialInfo.ArbitrationRule = ArbitrationRule.Reading;
+ }
+
+ if (!trialInfo.IsGlobalReading && (trialInfo.IsArbitrationReading ?? false))
+ {
+ trialInfo.ArbitrationRule = ArbitrationRule.Visit;
+ }
trialInfo.UpdateTime = DateTime.Now;
// 修改临床数据
diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs
index cfcc769c9..1dffad4fe 100644
--- a/IRaCIS.Core.Domain/Trial/Trial.cs
+++ b/IRaCIS.Core.Domain/Trial/Trial.cs
@@ -232,7 +232,7 @@ namespace IRaCIS.Core.Domain.Models
///
/// ٲù
///
- public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.Reading;
+ public ArbitrationRule ArbitrationRule { get; set; } = ArbitrationRule.None;
public int ChangeDefalutDays { get; set; } = 5;