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; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
public List<Guid> SystemQuestionIds { get; set; }
}
@ -163,6 +166,10 @@ namespace IRaCIS.Core.Application.ViewModel
public int? ShowOrder { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
/// <summary>
/// 任务类型
/// </summary>
@ -252,6 +259,9 @@ namespace IRaCIS.Core.Application.ViewModel
{
public Guid TrialId { get; set; }
[NotDefault]
public Guid TrialReadingCriterionId { get; set; }
/// <summary>
/// 任务类型
/// </summary>
@ -330,6 +340,8 @@ namespace IRaCIS.Core.Application.ViewModel
/// </summary>
public Guid TrialId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public string Type { get; set; } = string.Empty;
public string ParentTriggerValue { get; set; } = string.Empty;
@ -349,8 +361,11 @@ namespace IRaCIS.Core.Application.ViewModel
public class ReadingMedicineTrialQuestionAddOrEdit
{
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 QuestionName { 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)
{
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.ParentTriggerValue.IsNullOrEmpty(), x => x.ParentTriggerValue.Contains(inDto.ParentTriggerValue))
.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);
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();
return (questionList, new {
IsConfirmMedicineQuestion= isConfirmMedicineQuestion,
@ -159,7 +159,7 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
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)
.ProjectTo<GetMedicineQuestionPreviewOutDto>(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync();
@ -194,7 +194,7 @@ namespace IRaCIS.Core.Application.Service
{
var existsQuery = _readingMedicineTrialQuestionRepository
.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);
if (await existsQuery.AnyAsync())
@ -220,7 +220,7 @@ namespace IRaCIS.Core.Application.Service
"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))
.WhereIf(inDto.Id != null, x => x.Id != inDto.Id && x.ParentId != inDto.Id)
.WhereIf(inDto.ShowOrder != null, x => x.ShowOrder <inDto.ShowOrder)
@ -257,6 +257,7 @@ namespace IRaCIS.Core.Application.Service
IsEnable = x.IsEnable,
IsRequired = x.IsRequired,
QuestionName = x.QuestionName,
TrialReadingCriterionId=inDto.TrialReadingCriterionId,
Type = x.Type,
ParentId=x.ParentId,
SystemQuestionId=x.Id,
@ -430,7 +431,7 @@ namespace IRaCIS.Core.Application.Service
IsConfirm = true
});
await _trialRepository.UpdatePartialFromQueryAsync(inDto.TrialId, x => new Trial()
await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()
{
IsConfirmMedicineQuestion = true
});

View File

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

View File

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