添加问题分类字段

IRC_NewDev
he 2023-09-14 14:02:23 +08:00
parent 46ad5920de
commit 8d8b41253e
9 changed files with 117 additions and 29 deletions

View File

@ -499,6 +499,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid VisitTaskId { get; set; }
public Guid TrialId { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
}
public class ReadingTableAnswerRowInfoBase
@ -719,6 +724,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{
[NotDefault]
public Guid VisitTaskId { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
}
public class GetReadingTableQuestionOutDto
@ -795,6 +805,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List<OrganInfo> OrganInfos { get; set; } = new List<OrganInfo>();
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
public bool IsGetallQuestion { get; set; } = false;
/// <summary>
@ -947,6 +961,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid TrialId { get; set; }
public Guid VisitTaskId { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
}
#endregion

View File

@ -336,10 +336,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
/// 限制编辑
@ -440,10 +445,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 数据来源
/// </summary>
public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
/// <summary>
/// 数据来源
/// </summary>
public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 单位
@ -976,10 +986,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
/// <summary>
/// 单位
/// </summary>
public ValueUnit? Unit { get; set; }
/// <summary>
@ -1040,6 +1055,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
public List<string> ParentTriggerValueList { get; set; } = new List<string>();
public List<string> RelevanceValueList { get; set; } = new List<string>();
@ -1560,10 +1580,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 限制编辑
/// </summary>
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
/// <summary>
/// 限制编辑
/// </summary>
public LimitEdit LimitEdit { get; set; } = LimitEdit.None;
/// <summary>
/// 最大答案长度
@ -1909,10 +1934,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public ValueOfType? ValueType { get; set; }
/// <summary>
/// 数据来源
/// </summary>
public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
/// <summary>
/// 数据来源
/// </summary>
public DataSources? DataSource { get; set; } = DataSources.ManualEntry;
/// <summary>
/// 单位

View File

@ -6,6 +6,7 @@
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Application.Contracts
{
@ -22,7 +23,7 @@ namespace IRaCIS.Core.Application.Contracts
Task<GetGlobalReadingInfoOutDto> GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto);
Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId);
Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId,QuestionClassify? questionClassify);
Task<GetReadingTableQuestionOutDto> GetReadingTableQuestion(GetReadingTableQuestionOrAnswerInDto inDto);

View File

@ -696,7 +696,7 @@ namespace IRaCIS.Application.Services
{
//await AddDefaultValueToTask(inDto.VisitTaskId);
var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync();
var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id);
var result = await GetReadingQuestion(taskInfo.TrialReadingCriterionId, taskInfo.Id, inDto.QuestionClassify);
return (result, new
{
@ -712,7 +712,7 @@ namespace IRaCIS.Application.Services
/// <param name="visitTaskId"></param>
/// <returns></returns>
[NonDynamicMethod]
public async Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId)
public async Task<List<DicomReadingQuestionAnswer>> GetReadingQuestion(Guid trialReadingCriterionId, Guid? visitTaskId, QuestionClassify? questionClassify)
{
@ -721,6 +721,7 @@ namespace IRaCIS.Application.Services
//排除表格问题
var questions = await _readingQuestionTrialRepository
.WhereIf(questionClassify!=null,x=>x.QuestionClassify== questionClassify)
.WhereIf(criterionIdInfo.IseCRFShowInDicomReading, x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
.WhereIf(!criterionIdInfo.IseCRFShowInDicomReading, x => x.IsShowInDicom && x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.Type != ReadingQestionType.Table)
@ -885,6 +886,7 @@ namespace IRaCIS.Application.Services
TableAnswers = tableAnswers,
TableAnsweRowInfos = tableAnsweRowInfos,
OrganInfos = organList,
QuestionClassify=inDto.QuestionClassify,
}
@ -935,7 +937,8 @@ namespace IRaCIS.Application.Services
TableAnswers = tableAnswers,
TableAnsweRowInfos = tableAnsweRowInfos,
IsGetallQuestion = true,
OrganInfos = organList
OrganInfos = organList,
QuestionClassify=inDto.QuestionClassify,
}
), new
@ -956,7 +959,9 @@ namespace IRaCIS.Application.Services
{
var criterionInfo = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstNotNullAsync();
var qusetionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider, new
var qusetionList = await _readingQuestionTrialRepository
.WhereIf(inDto.QuestionClassify!=null,x=>x.QuestionClassify==inDto.QuestionClassify)
.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).ProjectTo<TrialReadQuestionData>(_mapper.ConfigurationProvider, new
{
isEn_Us = _userInfo.IsEn_Us
@ -1032,7 +1037,9 @@ namespace IRaCIS.Application.Services
var groupList = new List<TrialReadQuestionData>();
var qusetionIds = qusetionList.Select(x => x.Id).ToList();
var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => qusetionIds.Contains(x.ReadingQuestionId))
var tableQuestionList = await _readingTableQuestionTrialRepository
.WhereIf(inDto.QuestionClassify != null, x => x.QuestionClassify == inDto.QuestionClassify)
.Where(x => qusetionIds.Contains(x.ReadingQuestionId))
.ProjectTo<TableQuestionTrial>(_mapper.ConfigurationProvider, new
{

View File

@ -325,6 +325,18 @@ namespace IRaCIS.Core.Domain.Share
Automatic = 1
}
/// <summary>
/// 问题分类
/// </summary>
public enum QuestionClassify
{
/// <summary>
/// PET
/// </summary>
PET = 0,
}
/// <summary>
/// 自定义计算标记

View File

@ -203,6 +203,10 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public string? FileType { get; set; }
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
[JsonIgnore]
[ForeignKey("GroupId")]

View File

@ -261,7 +261,12 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public Guid? GroupId { get; set; }
[JsonIgnore]
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
[JsonIgnore]
[ForeignKey("GroupId")]
public ReadingQuestionTrial GroupInfo { get; set; }

View File

@ -176,7 +176,12 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public string? FileType { get; set; }
[ForeignKey("DependParentId")]
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
[ForeignKey("DependParentId")]
[JsonIgnore]
public ReadingTableQuestionSystem DependParentQuestion { get; set; }

View File

@ -195,7 +195,12 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public string? FileType { get; set; }
[JsonIgnore]
/// <summary>
/// 问题分类
/// </summary>
public QuestionClassify? QuestionClassify { get; set; }
[JsonIgnore]
[ForeignKey("DependParentId")]
public ReadingTableQuestionTrial DependParentQuestion { get; set; }