Uat_Study
he 2022-10-11 15:02:48 +08:00
parent c46213453c
commit 54f4e02573
4 changed files with 35 additions and 12 deletions

View File

@ -110,6 +110,9 @@ namespace IRaCIS.Core.Application.ViewModel
{ {
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
public List<Guid> SystemQuestionIds { get; set; } public List<Guid> SystemQuestionIds { get; set; }
} }
@ -163,6 +166,10 @@ namespace IRaCIS.Core.Application.ViewModel
public int? ShowOrder { get; set; } public int? ShowOrder { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
/// <summary> /// <summary>
/// 任务类型 /// 任务类型
/// </summary> /// </summary>
@ -252,6 +259,9 @@ namespace IRaCIS.Core.Application.ViewModel
{ {
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
/// <summary> /// <summary>
/// 任务类型 /// 任务类型
/// </summary> /// </summary>
@ -330,6 +340,8 @@ namespace IRaCIS.Core.Application.ViewModel
/// </summary> /// </summary>
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public string Type { get; set; } = string.Empty; public string Type { get; set; } = string.Empty;
public string ParentTriggerValue { get; set; } = string.Empty; public string ParentTriggerValue { get; set; } = string.Empty;
@ -349,8 +361,11 @@ namespace IRaCIS.Core.Application.ViewModel
public class ReadingMedicineTrialQuestionAddOrEdit public class ReadingMedicineTrialQuestionAddOrEdit
{ {
public Guid? Id { get; set; } public Guid? Id { get; set; }
public string Type { get; set; } [NotDefault]
public Guid TrialReadingCriterionId { get; set; }
public string Type { get; set; }
public string? ParentTriggerValue { get; set; }=string.Empty; public string? ParentTriggerValue { get; set; }=string.Empty;
public string QuestionName { get; set; } public string QuestionName { get; set; }
public string TypeValue { get; set; } public string TypeValue { get; set; }

View File

@ -134,7 +134,7 @@ namespace IRaCIS.Core.Application.Service
public async Task<(List<ReadingMedicineTrialQuestionView>,object)> GetReadingMedicineTrialQuestionList(ReadingMedicineTrialQuestionQuery inDto) public async Task<(List<ReadingMedicineTrialQuestionView>,object)> GetReadingMedicineTrialQuestionList(ReadingMedicineTrialQuestionQuery inDto)
{ {
var query = _readingMedicineTrialQuestionRepository.AsQueryable() var query = _readingMedicineTrialQuestionRepository.AsQueryable()
.Where(x=>x.TrialId==inDto.TrialId) .Where(x=>x.TrialId==inDto.TrialId&&x.TrialReadingCriterionId==inDto.TrialReadingCriterionId)
.WhereIf(!inDto.TypeValue.IsNullOrEmpty(), x => x.TypeValue.Contains(inDto.TypeValue)) .WhereIf(!inDto.TypeValue.IsNullOrEmpty(), x => x.TypeValue.Contains(inDto.TypeValue))
.WhereIf(!inDto.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue)) .WhereIf(!inDto.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue))
.WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName)) .WhereIf(!inDto.QuestionName.IsNullOrEmpty(), x => x.QuestionName.Contains(inDto.QuestionName))
@ -143,7 +143,7 @@ namespace IRaCIS.Core.Application.Service
.ProjectTo<ReadingMedicineTrialQuestionView>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder); .ProjectTo<ReadingMedicineTrialQuestionView>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder);
var isConfirmMedicineQuestion = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => x.IsConfirmMedicineQuestion).FirstOrDefaultAsync(); var isConfirmMedicineQuestion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id==inDto.TrialReadingCriterionId).Select(x => x.IsConfirmMedicineQuestion).FirstOrDefaultAsync();
var questionList = await query.ToListAsync(); var questionList = await query.ToListAsync();
return (questionList, new { return (questionList, new {
IsConfirmMedicineQuestion= isConfirmMedicineQuestion, IsConfirmMedicineQuestion= isConfirmMedicineQuestion,
@ -159,7 +159,7 @@ namespace IRaCIS.Core.Application.Service
[HttpPost] [HttpPost]
public async Task<List<GetMedicineQuestionPreviewOutDto>> GetMedicineQuestionPreview(GetMedicineQuestionPreviewInDto inDto) public async Task<List<GetMedicineQuestionPreviewOutDto>> GetMedicineQuestionPreview(GetMedicineQuestionPreviewInDto inDto)
{ {
var trialQuestionList = await _readingMedicineTrialQuestionRepository.Where(x=>x.TrialId==inDto.TrialId) var trialQuestionList = await _readingMedicineTrialQuestionRepository.Where(x=>x.TrialId==inDto.TrialId&&x.TrialReadingCriterionId==inDto.TrialReadingCriterionId)
.WhereIf(inDto.ReadingCategory != null, x => x.ReadingCategory == inDto.ReadingCategory) .WhereIf(inDto.ReadingCategory != null, x => x.ReadingCategory == inDto.ReadingCategory)
.ProjectTo<GetMedicineQuestionPreviewOutDto>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync(); .ProjectTo<GetMedicineQuestionPreviewOutDto>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync();
@ -194,7 +194,7 @@ namespace IRaCIS.Core.Application.Service
{ {
var existsQuery = _readingMedicineTrialQuestionRepository var existsQuery = _readingMedicineTrialQuestionRepository
.WhereIf(inDto.Id != null, x => x.Id != inDto.Id) .WhereIf(inDto.Id != null, x => x.Id != inDto.Id)
.Where(x => x.TrialId==inDto.TrialId) .Where(x => x.TrialId==inDto.TrialId&&x.TrialReadingCriterionId==inDto.TrialReadingCriterionId)
.Where(x => x.ShowOrder == inDto.ShowOrder); .Where(x => x.ShowOrder == inDto.ShowOrder);
if (await existsQuery.AnyAsync()) if (await existsQuery.AnyAsync())
@ -220,7 +220,7 @@ namespace IRaCIS.Core.Application.Service
"select","radio" "select","radio"
}; };
var questionList = await _readingMedicineTrialQuestionRepository.Where(x => x.TrialId == inDto.TrialId) var questionList = await _readingMedicineTrialQuestionRepository.Where(x => x.TrialId == inDto.TrialId&&x.TrialReadingCriterionId==inDto.TrialReadingCriterionId)
.Where(x => types.Contains(x.Type)) .Where(x => types.Contains(x.Type))
.WhereIf(inDto.Id != null, x => x.Id != inDto.Id && x.ParentId != inDto.Id) .WhereIf(inDto.Id != null, x => x.Id != inDto.Id && x.ParentId != inDto.Id)
.WhereIf(inDto.ShowOrder != null, x => x.ShowOrder <inDto.ShowOrder) .WhereIf(inDto.ShowOrder != null, x => x.ShowOrder <inDto.ShowOrder)
@ -257,6 +257,7 @@ namespace IRaCIS.Core.Application.Service
IsEnable = x.IsEnable, IsEnable = x.IsEnable,
IsRequired = x.IsRequired, IsRequired = x.IsRequired,
QuestionName = x.QuestionName, QuestionName = x.QuestionName,
TrialReadingCriterionId=inDto.TrialReadingCriterionId,
Type = x.Type, Type = x.Type,
ParentId=x.ParentId, ParentId=x.ParentId,
SystemQuestionId=x.Id, SystemQuestionId=x.Id,
@ -430,7 +431,7 @@ namespace IRaCIS.Core.Application.Service
IsConfirm = true IsConfirm = true
}); });
await _trialRepository.UpdatePartialFromQueryAsync(inDto.TrialId, x => new Trial() await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
{ {
IsConfirmMedicineQuestion = true IsConfirmMedicineQuestion = true
}); });

View File

@ -143,6 +143,13 @@ namespace IRaCIS.Core.Domain.Models
public bool IsReadingShowPreviousResults { get; set; } = false; public bool IsReadingShowPreviousResults { get; set; } = false;
/// <summary>
/// 是确认医学审核问题
/// </summary>
public bool IsConfirmMedicineQuestion { get; set; } = false;
/// <summary> /// <summary>
/// 仲裁对象 /// 仲裁对象
/// </summary> /// </summary>

View File

@ -379,11 +379,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public DateTime? SyncClinicalDataTime { get; set; } public DateTime? SyncClinicalDataTime { get; set; }
/// <summary> ///// <summary>
/// 是确认医学审核问题 ///// 是确认医学审核问题
/// </summary> ///// </summary>
public bool IsConfirmMedicineQuestion { get; set; } = false; //public bool IsConfirmMedicineQuestion { get; set; } = false;
/// <summary> /// <summary>
/// 图像是否有标注 /// 图像是否有标注