diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 23369e100..94b1878ba 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1035,6 +1035,21 @@ 计划条数 + + + 项目ID + + + + + 配置ID + + + + + 阅片配置的类型 + + 项目ID @@ -3294,6 +3309,13 @@ + + + 获取阅片期配置的截至访视的下拉框 + + + + 设置阅片期配置是否生效 diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs index 9733582e6..c918ae5e8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs @@ -26,8 +26,8 @@ namespace IRaCIS.Application.Services public ClinicalDataSetService(IRepository subjectVisitRepository, IRepository clinicalDataRepository, - IRepository ClinicalDataSetRepository, - IRepository previousPDFRepository + IRepository ClinicalDataSetRepository, + IRepository previousPDFRepository ) { _subjectVisitRepository = subjectVisitRepository; @@ -68,16 +68,23 @@ namespace IRaCIS.Application.Services } + //public List GetClinicalDataSetList() + //{ + + //} + + /// /// 将系统配置添加到项目配置 /// /// /// - [HttpPost] - public async Task AddTrialClinicalDataSet(AddTrialClinicalDataSetInDto inDto) + + private async Task AddTrialClinicalDataSet(AddTrialClinicalDataSetInDto inDto) { + var systemIds = await _clinicalDataSetRepository.Where(x => x.TrialId == null).Select(x => x.Id).ToListAsync(); var trialSystemIds =await _clinicalDataSetRepository.Where(x => x.TrialId == inDto.TrialId && x.SystemClinicalDataSetId != null).Select(x => x.SystemClinicalDataSetId.Value).ToListAsync(); - var needAddids = inDto.Ids.Except(trialSystemIds).ToList(); + var needAddids = systemIds.Except(trialSystemIds).ToList(); var systemDataList =await _clinicalDataSetRepository.Where(x => needAddids.Contains(x.Id)).ToListAsync(); List dataSets = systemDataList.Select(x => new ClinicalDataSet() { diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs index bf88343ae..f3e4367d0 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs @@ -122,8 +122,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class AddTrialClinicalDataSetInDto { - public List Ids { get; set; } = new List(); - public Guid TrialId { get; set; } } } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs index 1c628bff3..aff3c087a 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingPeriodSetViewModel.cs @@ -264,6 +264,33 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } + public class GetReadingVisitListOutDto + { + public Guid VisitStageId { get; set; } + public decimal VisitNum { get; set; } + public string VisitName { get; set; } = string.Empty; + } + + public class GetReadingVisitListInDto + { + /// + /// 项目ID + /// + public Guid TrialId { get; set; } + + /// + /// 配置ID + /// + public Guid? ReadingPeriodSetId { get; set; } + + + /// + /// 阅片配置的类型 + /// + public ReadingSetType ReadingSetType { get; set; } + } + + public class SetReadingPeriodSetEffect { /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs index bde0e12d9..d46269905 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriodSetService.cs @@ -23,19 +23,22 @@ namespace IRaCIS.Application.Services public IRepository _subjectVisitRepository; private readonly IRepository _readingPeriodSetRepository; private readonly IRepository _readModuleRepository; + private readonly IRepository _visitStageRepository; private readonly IRepository _readingPeriodPlanRepository; private readonly IRepository _siteSetRepository; public ReadingPeriodSetService(IRepository subjectVisitRepository, - IRepository ReadingPeriodSetRepository, + IRepository ReadingPeriodSetRepository, IRepository readModuleRepository, - IRepository readingPeriodPlanRepository, - IRepository SiteSetRepository + IRepository visitStageRepository, + IRepository readingPeriodPlanRepository, + IRepository SiteSetRepository ) { _subjectVisitRepository = subjectVisitRepository; _readingPeriodSetRepository = ReadingPeriodSetRepository; this._readModuleRepository = readModuleRepository; + this._visitStageRepository = visitStageRepository; this._readingPeriodPlanRepository = readingPeriodPlanRepository; _siteSetRepository = SiteSetRepository; } @@ -126,7 +129,7 @@ namespace IRaCIS.Application.Services //var var existsBubjectVisits = await _readModuleRepository.Where(y => y.ReadingSetType == inDto.ReadingSetType && y.TrialId == inDto.TrialId).Select(x => x.SubjectVisitId).ToListAsync(); - visitQuery = visitQuery.Where(x => existsBubjectVisits.Where(y =>x.Id == y).Count() == 0) + visitQuery = visitQuery.Where(x => !existsBubjectVisits.Contains(x.Id)) .WhereIf(inDto.ExpirationDate != null, x => x.LatestScanDate <= inDto.ExpirationDate.Value) .WhereIf(inDto.ExpirationVisitNum != null, x => x.VisitNum == inDto.ExpirationVisitNum); @@ -277,6 +280,25 @@ namespace IRaCIS.Application.Services } + /// + /// 获取阅片期配置的截至访视的下拉框 + /// + /// + /// + [HttpPost] + public async Task> GetReadingVisitList(GetReadingVisitListInDto inDto) + { + var visitStageIdList = await _readingPeriodSetRepository.Where(x => x.TrialId == inDto.TrialId && x.Id != inDto.ReadingPeriodSetId&&x.VisitStageId!=null&&x.ReadingSetType==inDto.ReadingSetType).Select(x => x.VisitStageId).ToListAsync(); + List result = await _visitStageRepository.Where(x => x.TrialId == inDto.TrialId && !visitStageIdList.Contains(x.Id)).Select(x => new GetReadingVisitListOutDto() + { + + VisitName = x.VisitName, + VisitNum = x.VisitNum, + VisitStageId = x.Id, + }).ToListAsync(); + + return result; + } /// /// 设置阅片期配置是否生效 diff --git a/IRaCIS.Core.Domain/Reading/ClinicalDataSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalDataSet.cs index 68e7b259c..5286a422f 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalDataSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalDataSet.cs @@ -53,6 +53,16 @@ namespace IRaCIS.Core.Domain.Models /// public Guid CreateUserId { get; set; } + /// + /// 是否启用 + /// + public bool IsEnable { get; set; } + + /// + /// 是否勾选 + /// + public bool IsCheck { get; set; } + }