diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index 5c4d1c39a..64a16ceec 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -1035,6 +1035,27 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string OrderMark { get; set; } = string.Empty; } + public class GetQuestionCalculateRelationInDto + { + public Guid? TrialReadingCriterionId { get; set; } + + public Guid? ReadingQuestionId { get; set; } + + } + + + //public class GetQuestionCalculateRelationOutDto + //{ + // public List CalculateRelationList { get; set; } + //} + + + public class CalculateRelationDto + { + public Guid QuestionId { get; set; } + + public List CalculateQuestionList { get; set; } + } public class ReadingQuestionTrialViewInDto { diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index 3a5cddada..17b3abaea 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -298,7 +298,7 @@ namespace IRaCIS.Core.Application.Service }).ToListAsync(); var globalTaskAnswer = await (from global in _readingGlobalTaskInfoRepository.Where(x => taskIds.Contains(x.GlobalTaskId) && x.GlobalAnswerType == GlobalAnswerType.Question && x.TrialReadingQuestion.IsJudgeQuestion).Include(x=>x.TrialReadingQuestion) - join taskAnswer in _readingTaskQuestionAnswerRepository.AsQueryable() on new { TaskId= global.TaskId, QuestionId=global.QuestionId??default(Guid) } equals new { TaskId=taskAnswer.VisitTaskId, QuestionId=taskAnswer.ReadingQuestionTrialId } + join taskAnswer in _readingTaskQuestionAnswerRepository.Where(x=>taskIds.Contains(x.VisitTaskId)) on new { TaskId= global.TaskId, QuestionId=global.QuestionId??default(Guid) } equals new { TaskId=taskAnswer.VisitTaskId, QuestionId=taskAnswer.ReadingQuestionTrialId } select new JudgeQuestionAnswerInfo() { Answer = global.Answer.Trim().IsNullOrEmpty()? taskAnswer.Answer: global.Answer, diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs index 0bbfe7a29..5262997e8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingQuestionService.cs @@ -411,6 +411,37 @@ namespace IRaCIS.Application.Services return await query.ToListAsync(); } + /// + /// 获取问题计算关系 + /// + /// + /// + [HttpPost] + public async Task> GetQuestionCalculateRelation(GetQuestionCalculateRelationInDto inDto) + { + if (inDto.TrialReadingCriterionId != null) + { + return await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId) + .Select(x => new CalculateRelationDto() + { + QuestionId = x.Id, + CalculateQuestionList = x.CalculateQuestionList + + }).ToListAsync(); + } + else + { + return await _readingTableQuestionTrialRepository.Where(x => x.ReadingQuestionId == inDto.ReadingQuestionId) + .Select(x => new CalculateRelationDto() + { + QuestionId = x.Id, + CalculateQuestionList = x.CalculateQuestionList + + }).ToListAsync(); + } + } + + /// /// 获取项目标准的其他问题(项目) /// @@ -483,7 +514,7 @@ namespace IRaCIS.Application.Services /// /// [HttpPost] - public async Task> GetReadingTableQuestionTrialList(ReadingTableQuestionSystemQuery inDto) + public async Task<(List,bool)> GetReadingTableQuestionTrialList(ReadingTableQuestionSystemQuery inDto) { var readingTableQuestionSystemQueryable = _readingTableQuestionTrialRepository @@ -491,7 +522,7 @@ namespace IRaCIS.Application.Services .Where(x => x.ReadingQuestionId == inDto.ReadingQuestionId).ProjectTo(_mapper.ConfigurationProvider); var result = await readingTableQuestionSystemQueryable.OrderBy(x => x.ShowOrder).ToListAsync(); - return result; + return (result,true); } ///