diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 863f2d840..0f8fd807d 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -2560,6 +2560,20 @@
+
+
+ 获取系统其他表格问题
+
+
+
+
+
+
+ 获取项目其他表格问题
+
+
+
+
获取项目表格问题
@@ -3218,6 +3232,16 @@
单位
+
+
+ 关联ID
+
+
+
+
+ 关联Value
+
+
项目临床数据问题
diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
index e1f4d06b5..42da2853c 100644
--- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalQuestionService.cs
@@ -11,6 +11,7 @@ using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Infra.EFCore.Common;
using IRaCIS.Core.Domain.Share;
using MassTransit;
+using IRaCIS.Core.Domain.Models;
namespace IRaCIS.Core.Application.Service
{
@@ -455,11 +456,46 @@ namespace IRaCIS.Core.Application.Service
var success = await _systemClinicalTableQuestionRepository.DeleteFromQueryAsync(t => t.Id == id, true);
return ResponseOutput.Ok();
}
+
+ ///
+ /// 获取系统其他表格问题
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetSystemClinicalOtherTableQuestionList(GetClinicalOtherTableQuestionListInDto inDto)
+ {
+ var types = new List()
+ {
+ "select","radio"
+ };
+ return await this._systemClinicalTableQuestionRepository.Where(x => x.QuestionId == inDto.QuestionId && types.Contains(x.ClinicalTableQuestionType))
+ .Where(x=>x.Id!= inDto.TableQuestionId)
+ .ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+ }
#endregion
#region 项目表格问题
+
+ ///
+ /// 获取项目其他表格问题
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetTrialClinicalOtherTableQuestionList(GetClinicalOtherTableQuestionListInDto inDto)
+ {
+ var types = new List()
+ {
+ "select","radio"
+ };
+ return await this._trialClinicalTableQuestionRepository.Where(x => x.QuestionId == inDto.QuestionId && types.Contains(x.ClinicalTableQuestionType))
+ .Where(x => x.Id != inDto.TableQuestionId)
+ .ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+ }
+
///
/// 获取项目表格问题
///
@@ -621,6 +657,11 @@ namespace IRaCIS.Core.Application.Service
tableQuestionRelation.Add(x.Id, newid);
x.Id = newid;
}
+
+ if (x.RelevanceId != null)
+ {
+ x.RelevanceId = questionRelation[x.RelevanceId ?? default(Guid)];
+ }
});
foreach (var x in newTrialTableQuestionList)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
index a1988b83e..a9c353b55 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalQuestionDto.cs
@@ -370,12 +370,18 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
public Guid SystemClinicalId { get; set; }
}
+
+ public class GetClinicalOtherTableQuestionListInDto
+ {
+ public Guid QuestionId { get; set; }
+
+ public Guid TableQuestionId { get; set; }
+ }
#endregion
#region 表格问题
public class ClinicalTableQuestionBase
-
{
public Guid? Id { get; set; }
@@ -456,6 +462,25 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 单位
///
public string Unit { get; set; } = string.Empty;
+
+ ///
+ /// 关联ID
+ ///
+ public Guid? RelevanceId { get; set; }
+
+ ///
+ /// 关联Value
+ ///
+ public string RelevanceValue
+ {
+ get
+ {
+ return string.Join(',', this.RelevanceValueList);
+ }
+ }
+
+
+ public List RelevanceValueList { get; set; } = new List();
}
diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalTableQuestion.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalTableQuestion.cs
index 7498f3e25..bb6248f00 100644
--- a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalTableQuestion.cs
+++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/SystemClinicalTableQuestion.cs
@@ -7,6 +7,9 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
+using System.Collections.Generic;
+using System.Linq;
+
namespace IRaCIS.Core.Domain.Models
{
///
@@ -95,6 +98,34 @@ namespace IRaCIS.Core.Domain.Models
///
public string Unit { get; set; } = string.Empty;
+ ///
+ /// 关联ID
+ ///
+ public Guid? RelevanceId { get; set; }
+
+ ///
+ /// 关联Value
+ ///
+ public string RelevanceValue { get; set; } = string.Empty;
+
+ [NotMapped]
+ public List RelevanceValueList
+ {
+ get
+ {
+ try
+ {
+ return this.RelevanceValue.Split(',').ToList();
+ }
+ catch (Exception)
+ {
+
+ return new List();
+ }
+ }
+
+ }
+
}
diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalTableQuestion.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalTableQuestion.cs
index 1e88cc3ce..29cb863e9 100644
--- a/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalTableQuestion.cs
+++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestion/TrialClinicalTableQuestion.cs
@@ -7,6 +7,9 @@ using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
+using System.Collections.Generic;
+using System.Linq;
+
namespace IRaCIS.Core.Domain.Models
{
///
@@ -110,6 +113,34 @@ namespace IRaCIS.Core.Domain.Models
///
public string Unit { get; set; } = string.Empty;
+ ///
+ /// 关联ID
+ ///
+ public Guid? RelevanceId { get; set; }
+
+ ///
+ /// 关联Value
+ ///
+ public string RelevanceValue { get; set; } = string.Empty;
+
+ [NotMapped]
+ public List RelevanceValueList
+ {
+ get
+ {
+ try
+ {
+ return this.RelevanceValue.Split(',').ToList();
+ }
+ catch (Exception)
+ {
+
+ return new List();
+ }
+ }
+
+ }
+
}
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs
index ba44b85dd..97cdd903b 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionQuestion/ReadingTableQuestionSystem.cs
@@ -176,6 +176,8 @@ namespace IRaCIS.Core.Domain.Models
[ForeignKey("DependParentId")]
[JsonIgnore]
public ReadingTableQuestionSystem DependParentQuestion { get; set; }
+
+
}