diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 2fc40ff7f..9976b439c 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -467,6 +467,16 @@ 排序字段 + + + 阅片配置的类型 + + + + + 受试者ID + + 截止日期 @@ -492,6 +502,11 @@ 名称 + + + 阅片配置的类型 + + 项目ID @@ -3108,6 +3123,13 @@ + + + 添加阅片的时候 获取访视 + + + + 添加阅片期 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs index da7228d51..ddd015c74 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs @@ -128,6 +128,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ReadingPeriodName { get; set; } + public string SubjectVisitName { get; set; } + } public class ReadingPeriodSetView @@ -183,11 +185,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public Guid CreateUserId { get; set; } + public string? SubjectVisitName { get; set; } /// - /// 备注 + /// 阅片配置的类型 /// - public string Remark { get; set; } = String.Empty; + public ReadingSetType ReadingSetType { get; set; } /// /// 中心Id diff --git a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs index c43d0f0eb..3be4b184a 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs @@ -176,24 +176,27 @@ namespace IRaCIS.Application.Services } /// - /// + /// 添加阅片的时候 获取访视 /// /// /// - //public async Task> GetSubjectReadVisits(GetSubjectReadVisitsInDto inDto) - //{ - // var visitquery = _subjectVisitRepository.Where(x => x.SubjectId == inDto.SubjectId && x.LatestScanDate != null); + public async Task> GetSubjectReadVisits(GetSubjectReadVisitsInDto inDto) + { + var visitquery = _subjectVisitRepository.Where(x => x.SubjectId == inDto.SubjectId && x.LatestScanDate != null); - // var finalVisitNum = await visitquery.Where(x => x.IsFinalVisit).Select(x => x.VisitNum).FirstOrDefaultAsync(); + var finalVisitNum = await visitquery.Where(x => x.IsFinalVisit).Select(x => x.VisitNum).FirstOrDefaultAsync(); - // var readModulequery = _readModuleRepository.AsQueryable(); - // //visitquery = visitquery.WhereIf(finalVisitNum != null, x => x.VisitNum < finalVisitNum) - // // .Where(x => readModulequery.Where(y => y.SubjectVisitId == x.Id && y.ReadingSetType == inDto.ReadingSetType).Count() == 0).OrderBy(x => finalVisitNum) - // // .Select(x=>new GetSubjectReadVisitsOutDto() { - - // // } ) - //} + var readModulequery = _readModuleRepository.AsQueryable(); + return await visitquery.WhereIf(finalVisitNum != null, x => x.VisitNum < finalVisitNum) + .Where(x => readModulequery.Where(y => y.SubjectVisitId == x.Id && y.ReadingSetType == inDto.ReadingSetType).Count() == 0).OrderBy(x => finalVisitNum) + .Select(x => new GetSubjectReadVisitsOutDto() + { + SubjectVisitId = x.Id, + VisitName = x.VisitName, + VisitNum = x.VisitNum, + }).ToListAsync(); + } /// /// 添加阅片期 diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs index 22410a775..32c8831e0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs @@ -109,6 +109,7 @@ namespace IRaCIS.Application.Services ReadingPeriodSetId=readset.Id, SubjectCode=x.Subject.Code, SubjectId=x.SubjectId, + SubjectVisitName=x.VisitName, //Remark= readset.Remark }).ToList(); } diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs index 4127e59ab..b1acb4648 100644 --- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs @@ -15,6 +15,7 @@ namespace IRaCIS.Core.Application.Service CreateMap() + .ForMember(d => d.SubjectVisitName, u => u.MapFrom(s => s.VisitStage==null?string.Empty: s.VisitStage.VisitName)) .ForMember(d => d.SiteIds, u => u.MapFrom(s => s.ReadingPeriodSites.Select(x => x.SiteId))) .ForMember(d => d.SiteCodes, u => u.MapFrom(s => s.ReadingPeriodSites.Select(x => x.TrialSite.TrialSiteCode))); diff --git a/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs b/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs index aa4d88555..1bb5e950d 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingPeriodSet.cs @@ -47,9 +47,15 @@ namespace IRaCIS.Core.Domain.Models public Guid? VisitStageId { get; set; } /// - /// 是否生效 + /// 访视模板 /// - public int? IsTakeEffect { get; set; } + [ForeignKey("VisitStageId")] + public VisitStage? VisitStage { get; set; } + + /// + /// 是否生效 + /// + public int? IsTakeEffect { get; set; } /// /// 创建时间