diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index f1891c7cb..542556a00 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1647,6 +1647,11 @@
问题名称
+
+
+ 类型值
+
+
当前ID
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
index f98055ad5..716b1f1ea 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
@@ -220,6 +220,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 问题名称
///
public string QuestionName { get; set; }
+
+ ///
+ /// 类型值
+ ///
+ public string TypeValue { get; set; }
}
public class GetTrialCriterionOtherQuestionInDto
{
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
index 46ce46cb3..e3c9653a9 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
@@ -191,7 +191,8 @@ namespace IRaCIS.Application.Services
.Select(x => new CriterionOtherQuestionOutDto()
{
QuestionId = x.Id,
- QuestionName = x.QuestionName
+ QuestionName = x.QuestionName,
+ TypeValue=x.TypeValue,
}).ToListAsync();
return questionList;
@@ -413,7 +414,8 @@ namespace IRaCIS.Application.Services
.Select(x => new CriterionOtherQuestionOutDto()
{
QuestionId = x.Id,
- QuestionName = x.QuestionName
+ QuestionName = x.QuestionName,
+ TypeValue = x.TypeValue,
}).ToListAsync();
return questionList;
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index 110dcaa7f..e6d5cd95f 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -16,17 +16,20 @@ namespace IRaCIS.Core.Application
{
private readonly IRepository _trialRepository;
private readonly IRepository _trialQCQuestionRepository;
+ private readonly IRepository _readingQuestionCriterionTrialRepository;
private readonly IRepository _clinicalDataTrialSetRepository;
private readonly IEasyCachingProvider _provider;
public TrialConfigService(IRepository trialRepository,
IRepository trialQCQuestionRepository,
+ IRepository readingQuestionCriterionTrialRepository,
IRepository clinicalDataTrialSetRepository,
IEasyCachingProvider provider
)
{
_trialRepository = trialRepository;
this._trialQCQuestionRepository = trialQCQuestionRepository;
+ this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
this._provider = provider;
}
@@ -332,12 +335,21 @@ namespace IRaCIS.Core.Application
trialInfo.UpdateTime = DateTime.Now;
+ var cancelConfirmCriterionIds = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialConfig.TrialId && x.IsConfirm && !trialConfig.TrialCriterionIds.Contains(x.Id)).Select(x => x.Id).ToListAsync();
-
+ await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => cancelConfirmCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
+ {
+ IsConfirm = false
+ });
+
+ await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(x => trialConfig.TrialCriterionIds.Contains(x.Id), x => new ReadingQuestionCriterionTrial()
+ {
+ IsConfirm = true
+ }); ;
+
-
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
}