diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs index f76b9f9d0..e8729a0f7 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs @@ -221,7 +221,7 @@ namespace IRaCIS.Core.Application.ViewModel } ///OrganInfoQuery 列表查询参数模型 - public class OrganInfoQuery + public class OrganInfoQuery:PageInput { /// @@ -238,6 +238,10 @@ namespace IRaCIS.Core.Application.ViewModel } + + + + /// OrganInfoAddOrEdit 列表查询参数模型 public class OrganInfoAddOrEdit { diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index 1fcc9580d..881bd9c76 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -47,7 +47,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } - public class GetTumorAssessmentListInDto + public class GetTumorAssessmentListInDto:PageInput { public Guid CriterionId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs index 2f2907a16..0a463e519 100644 --- a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs +++ b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs @@ -141,6 +141,32 @@ namespace IRaCIS.Core.Application.Service } + /// + /// 获取系统器官分页信息 + /// + /// + /// + [HttpPost] + public async Task> GetOrganPageList(OrganInfoQuery inQuery) + { + + + List organs = new List(); + + if (inQuery.LesionType != null) + { + organs = await _criterionNidusRepository.Where(x => x.CriterionId == inQuery.SystemCriterionId && x.LesionType == inQuery.LesionType) + .Select(x => x.OrganType).ToListAsync(); + } + + var organInfoQueryable = _organInfoRepository + .Where(x => x.SystemCriterionId == inQuery.SystemCriterionId) + .WhereIf(inQuery.LesionType != null, x => organs.Contains(x.OrganType)) + .WhereIf(inQuery.OrganType != null, x => x.OrganType == inQuery.OrganType) + .ProjectTo(_mapper.ConfigurationProvider); + return await organInfoQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(OrganInfoView.OrganType) : inQuery.SortField, inQuery.Asc); + } + /// /// 新增或修改系统器官数据 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs index abd2d588b..3f8934159 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs @@ -98,6 +98,24 @@ namespace IRaCIS.Application.Services return result; } + /// + /// 获取疗效对照 + /// + /// + [HttpPost] + public async Task> GetTumorAssessmentPageList(GetTumorAssessmentListInDto inQuery) + { + var query = _tumorAssessmentRepository + .Where(x => x.CriterionId == inQuery.CriterionId) + .WhereIf(inQuery.OverallEfficacy != null, x => x.OverallEfficacy == inQuery.OverallEfficacy) + .WhereIf(inQuery.TargetLesion != null, x => x.TargetLesion == inQuery.TargetLesion) + .WhereIf(inQuery.NonTargetLesions != null, x => x.NonTargetLesions == inQuery.NonTargetLesions) + .WhereIf(inQuery.NewLesion != null, x => x.NewLesion == inQuery.NewLesion) + .ProjectTo(_mapper.ConfigurationProvider); + + return await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TumorAssessmentView.Id) : inQuery.SortField, inQuery.Asc); + } + /// /// 新增修改疗效对照