diff --git a/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs index af74165f4..e53d5a3f9 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/TrialQCQuestionConfigureViewModel.cs @@ -30,7 +30,13 @@ namespace IRaCIS.Core.Application.Contracts public Guid UpdateUserId { get; set; } } - + + public class QCQuestionFilterSelect + { + public Guid? Id { get; set; } + + public string[] TypeArray { get; set; } = new string[0]; + } public class TrialQCQuestionFilterSelect { diff --git a/IRaCIS.Core.Application/Service/QC/Interface/IQCQuestionService.cs b/IRaCIS.Core.Application/Service/QC/Interface/IQCQuestionService.cs index 40a829a14..21a102b5c 100644 --- a/IRaCIS.Core.Application/Service/QC/Interface/IQCQuestionService.cs +++ b/IRaCIS.Core.Application/Service/QC/Interface/IQCQuestionService.cs @@ -13,6 +13,6 @@ namespace IRaCIS.Core.Application.Contracts Task DeleteQCQuestionConfigure(Guid qCQuestionConfigureId); Task> GetQCQuestionConfigureList(QCQuestionQuery queryQCQuestionConfigure); - Task> GetQCQuestionSelectList(TrialQCQuestionFilterSelect trialQCQuestionFilterSelect); + } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs b/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs index a9df2ee82..5ad2c4e84 100644 --- a/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCQuestionService.cs @@ -32,14 +32,14 @@ namespace IRaCIS.Core.Application.Contracts /// /// [HttpPost] - public async Task> GetQCQuestionSelectList(TrialQCQuestionFilterSelect trialQCQuestionFilterSelect) + public async Task> GetQCQuestionSelectList(QCQuestionFilterSelect trialQCQuestionFilterSelect) { //设置父亲的时候,不允许设置为自己的孙子 这种会形成环 var initList = await _qcQuestionRepository .WhereIf(trialQCQuestionFilterSelect.TypeArray.Count() > 0, t => trialQCQuestionFilterSelect.TypeArray.Contains(t.Type)) - //.WhereIf(trialQCQuestionFilterSelect.Id != null, t => t.Id != trialQCQuestionFilterSelect.Id /*&& t.ParentId != trialQCQuestionFilterSelect.Id*/) + .OrderBy(t => t.ShowOrder).Select(x=>new TrialQCQuestionSelect() { ShowOrder=x.ShowOrder, Id=x.Id, diff --git a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs index 61fb7cdc5..06a18f846 100644 --- a/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs +++ b/IRaCIS.Core.Application/Service/QC/TrialQCQuestionService.cs @@ -150,7 +150,16 @@ namespace IRaCIS.Core.Application.Contracts foreach (var item in batchList.Where(x=>x.ParentId!=null)) { - + var parent = batchList.Where(x => x.SystemQuestionId == item.ParentId).FirstOrDefault(); + if (parent == null) + { + item.ParentId = null; + item.ParentTriggerValue = String.Empty; + } + else + { + + } }