Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
commit
51aebaab21
|
@ -260,6 +260,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
|
||||
public string BlindName { get; set; }
|
||||
|
||||
public bool IsHaveAdditionalQuestion { get; set; }
|
||||
|
||||
public bool IsBaseLine { get; set; }
|
||||
|
||||
public DateTime? LatestScanDate { get; set; }
|
||||
|
|
|
@ -135,9 +135,24 @@ namespace IRaCIS.Application.Services
|
|||
[HttpPost]
|
||||
public async Task<(List<TrialReadQuestion>,bool)> GetTaskAdditionalQuestion(GetTaskAdditionalQuestionInDto inDto)
|
||||
{
|
||||
|
||||
var answerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).IgnoreAutoIncludes().ToListAsync();
|
||||
var taskInfo = await _visitTaskRepository.Where(x => inDto.VisitTaskId == x.Id).FirstNotNullAsync();
|
||||
var result= await _readingQuestionTrialRepository.Where(x => x.IsAdditional && x.ReadingQuestionCriterionTrialId == taskInfo.TrialReadingCriterionId).IgnoreQueryFilters().ProjectTo<TrialReadQuestion>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
return (result,true);
|
||||
var result= await _readingQuestionTrialRepository.Where(x => x.IsAdditional && x.ReadingQuestionCriterionTrialId == taskInfo.TrialReadingCriterionId).IgnoreAutoIncludes().IgnoreQueryFilters().ProjectTo<TrialReadQuestion>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
|
||||
|
||||
result.ForEach(x =>
|
||||
{
|
||||
|
||||
var answer = answerList.Where(y => y.ReadingQuestionTrialId == x.Id).FirstOrDefault();
|
||||
if (answer != null)
|
||||
{
|
||||
x.Answer = answer.Answer;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
return (result,true);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -150,6 +150,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
{
|
||||
var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync();
|
||||
|
||||
var isAdditionalQuestionId = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == visitTaskInfo.TrialReadingCriterionId && x.IsAdditional).IgnoreQueryFilters().Select(x => x.Id).ToListAsync();
|
||||
|
||||
var taskquery = _visitTaskRepository
|
||||
.Where(x => (x.SubjectId == visitTaskInfo.SubjectId && x.TaskState == TaskState.Effect
|
||||
&& x.IsAnalysisCreate == visitTaskInfo.IsAnalysisCreate
|
||||
|
@ -166,11 +168,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var taskInfoList = await taskquery.OrderBy(x => x.VisitTaskNum).Select(x => new VisitTaskInfo()
|
||||
{
|
||||
BlindName = x.TaskBlindName,
|
||||
IsBaseLine = x.SourceSubjectVisit.IsBaseLine,
|
||||
VisitTaskId = x.Id,
|
||||
|
||||
TaskName = x.TaskName,
|
||||
LatestScanDate= x.SourceSubjectVisit!=null?x.SourceSubjectVisit.LatestScanDate : null,
|
||||
VisitTaskNum = x.VisitTaskNum,
|
||||
|
@ -178,6 +183,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
|
||||
}).ToListAsync();
|
||||
|
||||
var taskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
|
||||
|
||||
var isHaveAdditionalTaskIds = await _readingTaskQuestionAnswerRepository.Where(x => taskIds.Contains(x.VisitTaskId) && isAdditionalQuestionId.Contains(x.ReadingQuestionTrialId)).Select(x => x.VisitTaskId).Distinct().ToListAsync();
|
||||
|
||||
taskInfoList.ForEach(x => {
|
||||
x.IsHaveAdditionalQuestion = isHaveAdditionalTaskIds.Contains(x.VisitTaskId);
|
||||
});
|
||||
return taskInfoList;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -550,6 +550,8 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
public int? ParentQuestionShowOrder { get; set; }
|
||||
|
||||
public string Answer { get; set; } = string.Empty;
|
||||
|
||||
}
|
||||
|
||||
public class TrialJudgeQuestion
|
||||
|
|
Loading…
Reference in New Issue