From 9f706d3123351ec5bb590d1645ad5e10a5b3ea77 Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Fri, 1 Sep 2023 15:46:56 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE=E8=A1=A8?=
=?UTF-8?q?=E6=A0=BC=E9=97=AE=E9=A2=98=E6=B7=BB=E5=8A=A0=E4=BE=9D=E8=B5=96?=
=?UTF-8?q?=E7=88=B6=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 24 +++++++++++
.../ClinicalData/ClinicalQuestionService.cs | 41 +++++++++++++++++++
.../Reading/Dto/ClinicalQuestionDto.cs | 27 +++++++++++-
.../SystemClinicalTableQuestion.cs | 31 ++++++++++++++
.../TrialClinicalTableQuestion.cs | 31 ++++++++++++++
.../ReadingTableQuestionSystem.cs | 2 +
6 files changed, 155 insertions(+), 1 deletion(-)
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; }
+
+
}