diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
index 19aa16fe9..f98055ad5 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
@@ -229,7 +229,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
/// 当前ID
///
- public Guid? ReadingQuestionTrialId { get; set; }
+ public Guid? Id { get; set; }
}
public class GetSystemCriterionOtherQuestionInDto
@@ -240,7 +240,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
/// 当前ID
///
- public Guid? ReadingQuestionSystemId { get; set; }
+ public Guid? Id { get; set; }
}
public class ReadingQuestionSystemViewInDto : PageInput
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs
index 5e5df355e..33b17f59b 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs
@@ -65,7 +65,7 @@ namespace IRaCIS.Application.Services
}
if (addOrEditReadingPeriodSet.ReadingPeriodName == "Global")
{
- return ResponseOutput.NotOk("阅片期名称不能为");
+ return ResponseOutput.NotOk("阅片期名称不能为Global");
}
if (addOrEditReadingPeriodSet.Id == null)
{
@@ -117,7 +117,6 @@ namespace IRaCIS.Application.Services
public async Task> GetPreviewTheReadingList(PreviewTheReadingListInDto inDto)
{
-
// 当前项目 最晚拍片日期不为null 中心筛选
var visitQuery = _subjectVisitRepository.Where(x => x.TrialId == inDto.TrialId &&x.LatestScanDate!=null&&!x.IsLostVisit)
.WhereIf(inDto.ReadingScope== ReadingScopeEnum.Site, x => inDto.SiteIds.Contains(x.SiteId));
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
index ec699f01e..46ce46cb3 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs
@@ -180,8 +180,14 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task> GetSystemCriterionOtherQuestion(GetSystemCriterionOtherQuestionInDto inDto)
{
+ var types = new List()
+ {
+ "select","radio"
+
+ };
var questionList =await _readingQuestionSystemRepository.Where(x => x.ReadingQuestionCriterionSystemId == inDto.ReadingQuestionCriterionSystemId)
- .WhereIf(inDto.ReadingQuestionSystemId != null, x => x.Id != inDto.ReadingQuestionSystemId)
+ .Where(x=> types.Contains(x.Type))
+ .WhereIf(inDto.Id != null, x => x.Id != inDto.Id)
.Select(x => new CriterionOtherQuestionOutDto()
{
QuestionId = x.Id,
@@ -396,8 +402,14 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task> GetTrialCriterionOtherQuestion(GetTrialCriterionOtherQuestionInDto inDto)
{
+ var types = new List()
+ {
+ "select","radio"
+
+ };
var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.ReadingQuestionCriterionTrialId)
- .WhereIf(inDto.ReadingQuestionTrialId != null, x => x.Id != inDto.ReadingQuestionTrialId)
+ .Where(x => types.Contains(x.Type))
+ .WhereIf(inDto.Id != null, x => x.Id != inDto.Id)
.Select(x => new CriterionOtherQuestionOutDto()
{
QuestionId = x.Id,
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
index b4e3cf9ae..17c7c4628 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
@@ -16,7 +16,9 @@ namespace IRaCIS.Core.Application.Contracts
///
public string SubjectCodeRule { get; set; } = string.Empty;
+ public List TrialCriterionIds { get; set; } = new List();
+ public List TrialCriterionNames { get; set; } = new List();
public List ClinicalDataTrialSetIds { get; set; } = new List();
@@ -80,6 +82,8 @@ namespace IRaCIS.Core.Application.Contracts
public List CriterionIds { get; set; } = new List();
+ public List TrialCriterionIds { get; set; } = new List();
+
public Guid TrialId { get; set; }
@@ -218,6 +222,7 @@ namespace IRaCIS.Core.Application.Contracts
public class TrialConfigDTO: BasicTrialConfig
{
+
public List CriterionIds { get; set; } = new List();
public List ClinicalDataSetNames { get; set; } = new List();
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index dff97684e..110dcaa7f 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -325,10 +325,10 @@ namespace IRaCIS.Core.Application
}
var trialInfo = await _trialRepository.Where(t => t.Id == trialConfig.TrialId, true).Include(t => t.TrialDicList.Where(u => u.KeyName == StaticData.Criterion)).FirstOrDefaultAsync();
-
if (trialInfo == null) return Null404NotFound(trialInfo);
_mapper.Map(trialConfig, trialInfo);
+
trialInfo.UpdateTime = DateTime.Now;
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
index ab723ea1b..458b55ac0 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
@@ -146,6 +146,8 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
CreateMap().ForMember(t => t.TrialId, u => u.MapFrom(c => c.Id))
+ .ForMember(t => t.TrialCriterionIds, u => u.MapFrom(c => c.ReadingQuestionCriterionTrialList.Where(v =>v.IsConfirm).Select(r => r.Id)))
+ .ForMember(t => t.ClinicalDataSetNames, u => u.MapFrom(c => c.ReadingQuestionCriterionTrialList.Where(v => v.IsConfirm).Select(r => r.CriterionName)))
.ForMember(t => t.ClinicalDataTrialSetIds, u => u.MapFrom(c => c.clinicalDataTrialSets.Where(v => v.IsConfirm).Select(r => r.Id)))
.ForMember(t => t.ClinicalDataSetNames, u => u.MapFrom(c => c.clinicalDataTrialSets.Where(v => v.IsConfirm).Select(r => r.ClinicalDataSetName)))
.ForMember(t => t.CriterionIds, u => u.MapFrom(c => c.TrialDicList.Where(v => v.KeyName == StaticData.Criterion).Select(r => r.DictionaryId)));
diff --git a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs
index 024ab01bd..2bc4aa538 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs
@@ -42,9 +42,17 @@ namespace IRaCIS.Core.Domain.Models
///
public Guid CreateUserId { get; set; }
-
+ ///
+ /// 是否确认
+ ///
+ public bool IsConfirm { get; set; }
+ ///
+ /// 项目
+ ///
+ [ForeignKey("TrialId")]
+ public Trial Trial { get; set; }
}
diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs
index a93a68358..0cf37f150 100644
--- a/IRaCIS.Core.Domain/Trial/Trial.cs
+++ b/IRaCIS.Core.Domain/Trial/Trial.cs
@@ -24,6 +24,8 @@ namespace IRaCIS.Core.Domain.Models
public List WorkloadList { get; set; }
public List TrialUserList { get; set; } = new List();
+ public List ReadingQuestionCriterionTrialList { get; set; } = new List();
+
public List SubjectList { get; set; } = new List();
public List StudyList { get; set; } = new List();
@@ -65,6 +67,8 @@ namespace IRaCIS.Core.Domain.Models
public virtual ICollection ClinicalTrialProjectDetails { get; set; }
public virtual ICollection TrialDicList { get; set; }
+
+
[StringLength(100)]
public string TrialCode { get; set; } = string.Empty;